Modern economies and business services typically run complex, dynamic, and heterogeneous Information Technology (IT) computer infrastructures. For example, computer infrastructures can include one or more servers or host devices and one or more storage arrays interconnected by communication devices, such as switches or routers. The server devices can be configured to execute one or more virtual machines (VMs) during operation. Each VM can be configured to execute or run one or more applications or workloads. Such workloads can be executed as part of on-premise (datacenter) and off-premise (public/private cloud) environments.
One of the most common issues related to running/transforming missing critical applications in cloud/virtualization environments involves performance. One such a performance issue that can affect applications in cloud/virtualization environments is related to storage, specifically datastore contention. A datastore is defined an object that is shared with VMs on the same host and/or on different hosts within an environment. Datastore contention can be caused by many different events, changes, and/or issues within the environment.
Datastore contention can be identified by an abnormal increase in input/output (IO) latency associated with the environment. The IO latency can typically affect all of the applications on a given datastore. However with storage contention, the IO latency is originated at the datastore.
Datastores are typically more isolated to a host device when the datastore is built on top of a locally attached device(s). However, there are more complex configurations, such as with SAN, where the datastore is shared between host devices and exposed to such as a single logical object (i.e., datastore or converged infrastructures), where locally attached devices are pulled together and are configured as a shared resource amongst multiple hosts (and VMs).
Another issue related to running/transforming missing critical applications in cloud/virtualization environments involves the identification of problem sources in the environments. The process of determining the source of an issue in the environment is referenced as the process of deriving/determining the root cause of the problem, which can typically involve an object that has changed its behavior, faulted, and undergone another set of events. In environments with very complex interrelationships, identification of the root cause of a performance issue, such as a datastore contention issue, is very a complicated and manual process but is required to maintain operation of the environment in the event an application issue becomes apparent to a systems administrator.